#ifndef Ship_
#define Ship_

#include <iostream>
#include <list>
#include <string>
#include "Coordinate.h"
#include "Player.h"

#include <stdio.h>
#include <stdlib.h>

using namespace std;

//template<class T>
class Ship
{
private:
	std::list<Coordinate> coords;
	int type;
	string name;
	int hitbox;			// hitbox values will be in hex.  This will allow me to determine which of the sections have been hit starting from the startPosition.
						// This is shown in more detail in the hit() method in the .cpp file.
	int startPositionX;
	int startPositionY;
	int direction;
	Ship();
	
public:
	Ship(int shipType, Coordinate &startCoords, int startDirection);
	int getType() { return type; }
	string getName() { return name; }
	int getHitBox() {return hitbox; }
	list<Coordinate> getCoords() { return coords; }
	void hit(std::list<Coordinate>::iterator shipIterator, Player *player);
	
};

#endif
